home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / DB_CLIPP / 0411.ZIP / ANSWER.C < prev    next >
Text File  |  1985-09-18  |  2KB  |  86 lines

  1. #include "stdio.h"
  2. main(argc,argv)
  3.     int argc;
  4.     char *argv[];
  5.     {
  6.     int  c,
  7.      i,
  8.      parmlen,
  9.      loop;
  10.     char bs,
  11.      cr,
  12.      blanklin[80];
  13.     if (argc == 1)
  14.     {
  15.     exit(0);
  16.     }
  17.     if (argv[1][0] == '#')
  18.     {
  19.     puts("\n");
  20.     puts("Author : Peter Townsend\n");
  21.     puts("Date   : 18Sep85\n");
  22.     puts("Time   : 08:22\n");
  23.     puts("Version: 1.0\n");
  24.     exit(0);
  25.     }
  26.     if (argv[1][0] == '?')
  27.     {
  28.     puts("\n");
  29.     puts("This program reads 1 character from the standard input device\n");
  30.     puts("and  compares  it  to  a  list  of  characters passed in as a\n");
  31.     puts("parameter.  If a match is found - case insensitive - then the\n");
  32.     puts("position  of the match in the parameter string is returned as\n");
  33.     puts("the exit code. If no match is found, the character is ignored.\n");
  34.     puts("\n");
  35.     puts("NB When testing for  an  errorlevel in  a DOS batch file, test\n");
  36.     puts("   for  the  lowest errorlevel first, as an errorlevel of n is\n");
  37.     puts("   also equal to n-1 ... n-n where n >= 1.\n");
  38.     puts("\n");
  39.     puts("Syntax:   ANSWER [parm]\n");
  40.     puts("\n");
  41.     puts("Defaults: Exit code = 0 on no parameter string\n");
  42.     puts("\n");
  43.     puts("Example:  ANSWER yn\n");
  44.     puts("          with a read of 'y' or 'Y' returns code 1\n");
  45.     puts("           \"   \"  \"   \"  'n' \"  'N'    \"     \"   2\n");
  46.     puts("\n");
  47.     exit(0);
  48.     }
  49.     for(i=0;i<79;i++)
  50.     {
  51.     blanklin[i] = 0x20;
  52.     }
  53.     blanklin[79] = '\0';
  54.     parmlen = strlen(argv[1]);
  55.     bs = 0x8;
  56.     cr = 0xd;
  57.     loop = 1;
  58.     puts("\n");
  59.     printf("%c%s%cSelect from: %s ",cr,blanklin,cr,argv[1]);
  60.     while (loop == 1)
  61.     {
  62.     c = getchar();
  63.     if ((c == cr) | (c == 0) | (c == 9) | (c == 8))
  64.         {
  65.         printf("%c%s%cSelect from: %s ",cr,blanklin,cr,argv[1]);
  66.         if (c == 0)
  67.         {
  68.         c = getchar();
  69.         printf("%c %c",bs,bs);
  70.         }
  71.         }
  72.     else
  73.         {
  74.         for (i=0;i<parmlen;i++)
  75.         {
  76.         if (toupper(c) == toupper(argv[1][i]))
  77.             {
  78.             puts("\n");
  79.             exit(i+1);
  80.             }
  81.         }
  82.         printf("%c %c",bs,bs);
  83.         }
  84.     }
  85.     }
  86.